A server typically runs manageability firmware for configuring and controlling the operation of the server, and monitoring parameters such as temperatures, power status, etc. The manageability firmware usually consists of a resource file for facilitating web access to the server and a management processor user interface program (MP program) for managing the server. The resource file may include an executable file (e.g., JAVA file, and the like) that is transmitted to clients over a network. The file facilitates web access to the server from the client for managing the server from the client. The MP program may be coded in a high-level language, such as C++, and the like.
Typically, the manageability firmware is stored in a nonvolatile memory in the server, such as a read-only memory (ROM). FIG. 4 illustrates the manageability firmware stored in a nonvolatile memory 400 according to the prior art. Conventionally, the resource file is stored at a fixed location in the upper memory 410 of the memory 400, and the MP program is stored in a lower memory 420. A gap 430 of empty memory is usually provided between the resource file and the MP program for updates.
The manageability firmware may be updated frequently, especially during development (e.g., updated daily during development). Updating the firmware is at least a two-step process, regardless of whether one or both the resource file and the MP program are being updated. First, the resource file is loaded into the memory 400 at the fixed location, and then the MP program is loaded into the memory 400.
If the MP program becomes too large, however, it may require more space than the amount of memory encompassed by the gap 430. Therefore, the fixed location of the resource file must be changed to accommodate the larger MP program. This requires a programmer or network administrator to determine the size of the resource file and the MP program, and then determine a new fixed memory location for storing the resource file to allow enough space to store the MP program in the memory 400. Therefore, a significant amount of time is required for a programmer or network administrator to perform the conventional procedure for updating the manageability firmware. Furthermore, during development, when updates are performed on a regular basis, the amount of time consumed to perform the updates may delay final production and increase development costs.